package logic;

import java.util.ArrayList;

import dao.DaoShain;
import exception.BusinessException;
import exception.SystemException;

import model.*;

public class SearchLogic {
	//社員所情報アクセスクラス
	private DaoShain dao;
	
	public SearchLogic(){
		// TODO コンストラクタ
	}

	public ArrayList<Shain> executeSearch(Shain shain) throws SystemException,BusinessException{
		//検索結果
		ArrayList<Shain> searchResult;
		
		try{
			//入力チェック
			shain.checkSearchInput();
		}
		//入力エラーの場合、業務例外をスローする
		catch (BusinessException be){
			throw be;
		}
		
		//入力チェックがなければ、DBアクセスする
		try{
			//DBアクセスオブジェクトの作成
			this.dao = new DaoShain();
			//社員情報を検索
			searchResult = this.dao.searchShain(shain);
		}
		///システム例外をスロー
		catch (SystemException se){
			throw se;
		}
		//業務例外をスロー
		catch (BusinessException be){
			throw be;
		}
		//コネクションの削除
		finally{
			this.dao.closeConnection();
		}
		
		return searchResult;
	}
}
